import Config from 'app/config/Config';
import { EggAppConfig, EggAppInfo, PowerPartial } from 'egg';

export default (appInfo: EggAppInfo) => {
  /**
   * config配置
   */
  const config = {

    // keys
    keys: appInfo.name + new Date(),

    // 跨域配置
    cors: Config.CORS,

    // 打印日志
    logger: Config.Log,

    // 安全插件
    security: Config.CSRF,

    // 注册中间件，所有路由
    middleware: Config.MIDDLEWARE,

    // 中间件匹配
    bodyParser: Config.BODYPARSER,

    /**
     * axios请求配置
     */
    axios: Config.AxiosPlus,

    /**
     * 项目启动配置
     */
    cluster: Config.Cluster,

  } as PowerPartial<EggAppConfig>;

  // 返回 config配置 到 EggAppConfig 中
  return {
    ...config
  };
};
